//
//  NSString+Verify.h
//  GMShopProject
//
//  Created by 神廷 on 2020/10/5.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface NSString (Verify)

#pragma mark --------------字符串是否为空
/**
 *  字符串是否为空
 *
 *  @param string  输入内容
 *
 *  @return YES Or NO
 */

+(BOOL)isBlankString:(NSString *)string;

//纯数字判断
+ (BOOL)validateNumber:(NSString *)number;
#pragma mark --------------MD5加密
/**
 *  MD5加密
 *
 *  @return 加密字符串
 */
- (NSString *)MD5;

#pragma mark --------------金额字段判断
/**
 *  是否是金额字段
 *
 *  @return YES or NO
 */
+ (BOOL)isNumber:(NSString *)strValue;

#pragma mark --------------邮箱判断
/**
 *  邮箱判断
 *
 *  @return YES or NO
 */
- (BOOL)isValidateEmail;

// 匹配密码格式
+ (BOOL)isValidatePassword:(NSString *)password;

// 复制到剪切板
+ (void)copyToShearPlateString:(NSString *)string;
/**
 *  网址判断
 *
 *  @return YES or NO
 */
- (BOOL)isValidateUrl;

+(BOOL)isValidateUrlString:(NSString*)urlString;
#pragma mark --------------数字和字母
/**
 *  数字和字母
 *
 *  @return YES or NO
 */
- (BOOL)isValidateNumAndAz;

//获取图片宽高
+ (void)getImageSize:(NSString *)imageURL complate:(void(^)(CGSize resultSize))complate;

#pragma mark --------------手机号码合法性判断
/**
 *  手机号码合法性判断
 *
 *  @return YES or NO
 */
-(BOOL)isValidateMobile;
#pragma mark --------------密码数字字母验证
/**
 *  密码数字字母验证
 *
 *  @return YES or NO
 */
//-(BOOL)isValidatePassword;
#pragma mark --------------是否为6位数字
/**
 *  是否为6位数字
 *
 *  @return YES or NO
 */
-(BOOL)isValidatePhoneCode;

//十位纯数字
-(BOOL)isValidateTenPhoneCode;
#pragma mark --------------认证使用

////认证使用
- (NSString *)Base64EncodedStringFromString:(NSString *)string;

#pragma mark --------------身份证合法性判断最终版
/**
 *  身份证合法性判断最终版;
 *
 *  @return YES or NO
 */
+ (BOOL)isValidateTruePeopleIDCode:(NSString *)identityCard;
#pragma mark --------------是否有中文
/**
 *  是否有中文
 *
 *  @return YES or NO
 */

- (BOOL)isValidateChinese;

#pragma mark --------------字符串内容是否是有效数字
/**
 *  『正则表达式；推荐使用，不用循环遍历，控制更灵活』判断字符串内容是否是有效数字
 *
 *  @return 字符串内容是否是有效数字
 */
- (BOOL)isValidateNumberByRegExp;


/**
 银行卡判断

 @param cardNumber cardcode
 @return return value description
 */
+ (BOOL)isValidateBankCard:(NSString *)cardNumber;

#pragma mark --------------提取字符串中手机号
//提取s字符串手机号
+ (NSString *)extractMobileWithString:(NSString *)string parameter:(NSString *)str;


#pragma mark - 把时间戳格式化为 YYYY-MM-dd HH:mm:ss的格式
+ (NSString *)dateFomatterStringWithYMDHMS:(NSString *)time;

+ (NSString *)convertToJsonData:(NSDictionary *)dict;


// 对app 页面跳转逻辑进行处理
+ (NSString *)handleJumpPagesWithString:(NSString *)string;

//手机号换星
+ (NSString *)getHiddenPhoneNumberUseString:(NSString *)originPhoneNumber;
//身份证换星
+ (NSString *)getHiddenIDCardNumberUseString:(NSString *)originPhoneNumber;

@end

NS_ASSUME_NONNULL_END
